import 'dart:convert';

class FansQueryBean {
  FansQueryBean({
    required this.csNumber,
    required this.queryApiType,
    required this.queryApiUrl,
    required this.queryApiName,
    required this.startDate,
    required this.endDate,
  });

  ///需要保存的
  //客服号
  String csNumber;
  //查询api类型
  FansQueryApiType queryApiType;
  //查询api链接
  String queryApiUrl;
  //查询api名称
  String queryApiName;
  //查询开始时间
  String startDate;
  //查询结束时间
  String endDate;

  ///不需要保存的
  //客服名称
  String csName = "";
  //客服号状态
  int state = -1;
  //当天加粉数
  int addFansNow = -1;
  //当天重复粉数
  int repeatFansNow = -1;

  // 将对象转换为Map以便序列化
  Map<String, dynamic> toJson() {
    return {
      'csNumber': csNumber,
      'csName': csName,
      'state': state,
      'addFansNow': addFansNow,
      'repeatFansNow': repeatFansNow,
      'queryApiType': queryApiType.index, // 将枚举转换为整数进行序列化
      'queryApiUrl': queryApiUrl,
      'queryApiName': queryApiName,
      'startDate': startDate,
      'endDate': endDate,
    };
  }

  // 从Map反序列化为对象的工厂构造函数
  factory FansQueryBean.fromJson(Map<String, dynamic> json) {
    return FansQueryBean(
      csNumber: json['csNumber'] ?? '',
      queryApiUrl: json['queryApiUrl'] ?? '',
      queryApiType:
          FansQueryApiType.values[json['queryApiType'] as int], // 将整数转换回枚举
      queryApiName: json['queryApiName'] ?? '',
      startDate: json['startDate'] ?? '',
      endDate: json['endDate'] ?? '',
    );
  }

  // 从JSON字符串反序列化的方法
  static FansQueryBean fromJsonString(String jsonString) {
    Map<String, dynamic> jsonMap = jsonDecode(jsonString);
    return FansQueryBean.fromJson(jsonMap);
  }

  // 转换为JSON字符串的方法
  String toJsonString() {
    return jsonEncode(toJson());
  }
}

// 查询方式
enum FansQueryApiType { HaiWang, DaMai }
